-- These MIBs were created on 04/30/2001
-- This module defines enterprise MIBs for monitoring resources
-- 
-- Copyright (c) 1999-2004, Juniper Networks, Inc.
-- All rights reserved.
-- 

-- MODULE-IDENTITY
--  OrgName
--    Juniper Networks, Inc.
--  ContactInfo
--     Customer Support
--     
--     1194 North Mathilda Avenue 
--     Sunnyvale, California 94089-1206
--     USA
--     
--     Tel: 1-800-638-8296
--     E-mail: customerservice@juniper.net
--     HTTP://www.juniper.net"
--
--  Descr
--    This module defines the object that are used to monitor
--    resource in netscreen box
--
--  Last modified date: 05/03/2004
--  Modified copyright and contact info
--    
--  Last modified date: 05/05/2002
--  remove active session
--    
--  Last modified date: 11/10/2003
--  Correct spelling mistake
--

NETSCREEN-RESOURCE-MIB DEFINITIONS ::= BEGIN
IMPORTS

    DisplayString       FROM RFC1213-MIB 
    netscreenResource FROM NETSCREEN-SMI;
    
    nsResCPU OBJECT IDENTIFIER ::= { netscreenResource 1 }
    nsResMem    OBJECT IDENTIFIER ::= { netscreenResource 2 }
    nsResSession OBJECT IDENTIFIER ::= { netscreenResource 3 }

        nsResCpuAvg OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Average System CPU utilization in percentage."
        ::= { nsResCPU 1 }

        nsResCpuLast1Min OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Last one minute CPU utilization in percentage."
        ::= { nsResCPU 2 }

        nsResCpuLast5Min OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Last five minutes CPU utilization in percentage."
        ::= { nsResCPU 3 }

        nsResCpuLast15Min OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Last fifteen minutes CPU utilization in percentage."
        ::= { nsResCPU 4 }


        nsResMemAllocate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Memory allocated."
        ::= { nsResMem 1 }

        nsResMemLeft OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Memory left."
        ::= { nsResMem 2 }

        nsResMemFrag OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Memory fragment."
        ::= { nsResMem 3 }

        nsResSessAllocate OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Allocate session number."
        ::= { nsResSession 2 }

        nsResSessMaxium OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Maxium session number system can afford."
        ::= { nsResSession 3 }

        nsResSessFailed OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Failed session allocation counters."
        ::= { nsResSession 4 }


        nsResModTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF NsResModEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
             "System status for multiple modules."
        ::= { netscreenResource 4 }

    nsResModEntry OBJECT-TYPE
        SYNTAX  NsResModEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Each entry in the table holds a session status parameters associated 
               with an instance of security module."
        INDEX   { nsResModModId,  nsResModCpuId}
        ::= { nsResModTable 1 }

        NsResModEntry ::=
                SEQUENCE {
          nsResModModId
              INTEGER,
          nsResModCpuId
              INTEGER,
              nsResModCpuCurr 
              INTEGER,
              nsResModCpuLast1Min 
              INTEGER,
              nsResModCpuLast5Min 
              INTEGER,
              nsResModCpuLast15Min 
              INTEGER,
              nsResModMemAllocated 
              INTEGER,
          nsResModMemLeft 
              INTEGER,
              nsResModSessAllocated
              INTEGER,
              nsResModSessMaximum 
              INTEGER,
              nsResModSessFailed 
              INTEGER
       }

        nsResModModId OBJECT-TYPE
        SYNTAX  INTEGER (1..32)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Module ID for security module.  Each ID uniquely identifies a single Security Module."
        ::= { nsResModEntry 1 }

        nsResModCpuId OBJECT-TYPE
        SYNTAX  INTEGER (1..2)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "CPU Identifier.  Each ID uniquely identifies a single CPU residing on a Security Module."

        ::= { nsResModEntry 2 }

        nsResModCpuCurr OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Current System CPU utilization in percentage."
        ::= { nsResModEntry 3 }

        nsResModCpuLast1Min OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Last one minute CPU utilization in percentage."
        ::= { nsResModEntry 4 }

        nsResModCpuLast5Min OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Last five minutes CPU utilization in percentage."
        ::= { nsResModEntry 5 }

        nsResModCpuLast15Min OBJECT-TYPE
        SYNTAX  INTEGER (1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Last fifteen minutes CPU utilization in percentage."
        ::= { nsResModEntry 6 }

        nsResModMemAllocated OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Current memory allocated for this cpu" 
        ::= { nsResModEntry 7 }

        nsResModMemLeft OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Current free memory for this security module. Since this is shared memory the same value is returned for both the cpus." 
        ::= { nsResModEntry 8 }

        nsResModSessAllocated OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Number of sessions currently allocated for this Security Module's cpu."
        ::= { nsResModEntry 9 }

        nsResModSessMaximum OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Maximum number of sessions supported by this Security Module's cpu."
        ::= { nsResModEntry 10 }

        nsResModSessFailed OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Number of sessions failed for this Security Module's cpu."
        ::= { nsResModEntry 11 }




END